1.6.4 Операции с Mesh

В последнем разделе мы рассмотрели основные структуры mesh. В этом разделе мы рассмотрим способы работы с геометрией mesh.

1.6.4.1 Smooth

IMAGE

Сглаженные mesh иногда могут быть получены простым увеличением числа полигонов в процессе, который называется subdivision (дробление). Это часто может вести к невероятно огромным массивам данных, вычисление которых занимает длительное время. Также Grasshopper требуется установить дополнительные не-встроенные аддоны для этого. В этих ситуациях компонент Smooth может использоваться как альтернатива, чтобы сделать mesh менее шероховатой или граненной без увеличения числа вершин и полигонов или изменения топологии. Прочность, число итераций, и ограничение смещения можно использовать для настройки того, как происходит сглаживание.

При прикреплении булевого значения к входу N предоставляет возможность пропустить naked вершины. Вершина является naked, если она подключена к naked ребру, что означает, что вершина находится на границе открытой mesh. Переключая эту опцию вы поддерживаете внешнюю границу mesh в то время как вы глаживаете внешние ребра.

IMAGE

  1. Исходная форма mesh, 3 полигона удалены
  2. Сглаживание после 2 итераций
  3. 6 итераций
  4. 25 итераций
  5. 50 итераций

1.6.4.2 Blur

IMAGE

Компонент Blur работает почти так же как компонент smooth, за исключением того, что он воздействует только на цвета вершин. Он также может использоваться для сокращения шероховатости цветной mesh, хотя и в меньшем объеме, т.к. он не меняет никакой геометрии.

IMAGE

  1. Исходная mesh
  2. Размытие после 1 итерации
  3. 6 итераций
  4. 12 итераций
  5. 20 итераций

1.6.4.3 Triangulate

IMAGE

Чтобы убедиться в том, что каждый полигон планарный или чтобы экспортировать mesh в другое ПО, которое не допускает четырехугольные полигоны, иногда необходимо триангулировать mesh. При использовании компонента Triangulate каждый четырехугольный полигон заменяется двумя треугольными полигонами. Grasshopper всегда использует самую короткую диагональ полигона, чтобы создать новое ребро.

IMAGE

  1. Исходная четырехугольная mesh
  2. Добавленные ребра в соответствии с самым коротким расстоянием через четырехугольники
    1. Триангулированная итоговая mesh

1.6.4.4 Weld

IMAGE

В последнем разделе мы заметили, что одиночная вершина может разделяться смежными полигонами и нормаль для этой вершины рассчитывается как среднее смежных полигонов, выдавая сглаженную визуализацию. Тем не менее, иногда желательно иметь резкий сгиб или шов, где один полигон не переход гладко в следующий путем вершины нормали. Для этой ситуации необходимо, чтобы каждый полигон имел свою собственную вершину со своей собственной нормалью. Список вершин будет содержать по меньшей мере две точки, которые имеют одинаковые координаты, но разные индексы.

IMAGE

  1. Спаенные полигоны - оба полигона коллективно используют вершины 1 и 2. Нормали вершин в этих вершинах - среднее вершин полигонов.
    1. Неспаенные Полигоны - Дублирующиеся вершины добавлены к списку. Полигоны не используют коллективно ни одну из вершин. Вершины 1 и 6 и вершины 2 и 5 имеют одинаковые координаты, но являются разными вершинами. Они каждая имеют свою собственную нормаль вершины

Процесс, когда берутся две вершины, находящиеся в одном и том же месте, и объединяются в одну вершину, называется спайка, в то время как неспаивание берет одну вершину и разделяет ее на множество вершин.

Компонент Weld использует предельные значения угла как ввод. Любые два смежных полигона с углом меньше, чем предельное значение угла будут спаиваться вместе, приводя к общим вершинам с нормалью, которая является средним смежных полигонов. Компонент Unweld работает противоположным образом, где смежные полигоны с углом больше, чем данное предельное значение, будут расспаиваться и их совместные вершины будут дублироваться.

IMAGE

  1. По умолчанию Box Mesh имеет 726 вершин. Mesh сгибается в углах коробки, где вершины сдваиваются.
  2. Если mesh спаивается с углом больше, чем 90 градусов, итоговые полигоны mesh спаиваются вместе, число вершин уменьшилось до 602, в то время как число полигонов осталось таким же.
  3. Если посмотреть на геометрию в предпросмотре, вы можете заметить, что отрендеренная спаенная mesh имеет сглаженные углы.
  4. В отличие от компонента Smooth, который меняет геометрию mesh, эта mesh выглядит более сглаженно, только из-за роли нормалей вершин в рендере и затенении. Реальное положение вершин остается без изменений.

В изображении ниже, мы использовали угол 91 градус, потому что мы знаем, что стороны квадрата будут 90 градусов. Чтобы полностью спаить целую mesh, вам следует использовать угол 180 градусов.